<?php
	try {		
		$includeModels = array('BaseModel.class','Operacao.class');
		include('../../model/BaseModel.class.php');
		include('../../model/Operacao.class.php');
		$info = NULL;		
		$auth = array(
						array('action'=> 'Salvar', 'operacao'=>Operacao::CONTRATO_CADASTRAR_SALARIOS),
						array('action'=> 'Excluir', 'operacao'=>Operacao::CONTRATO_CADASTRAR_SALARIOS)
					 );
		
	    require_once '../../controller/controller.inc.php';
		
        FluxoContrato::isVisible(array(Operacao::CONTRATO_CADASTRAR_SALARIOS, Operacao::CONTRATO_VISUALIZAR_SALARIOS));
		    
	    $id = ( isset ( $_GET['id']) ) ? $_GET['id'] : null;
	    
	    //$contratoid = ( isset ( $_GET['contratoid']) ) ? $_GET['contratoid'] : null;
	    
	    if (isset($_GET['contratoid'])) {
	        $contratoid = pg_escape_string($_GET['contratoid']);
	    }
	    else {
	        $contratoid = NULL;
	    }
	    
	    $submitUrl = basename(__FILE__). '?contratoid=' . $_GET['contratoid']; 
	    if ( $id ){
	        $submitUrl .= '&id=' . $id; 
	    }
	    
	    $encargosPadrao = ($id)?NULL: new Encargos();

	    # Classes para indicar a aba ativa
		$classeContratos = '';
		$classeVagas = '';
		$classeLotacoes = '';
		$classeSalarios = 'class="ativa"';
		$classeVagasLotacoes = '';
		$classeAditivos = '';
		$classeArquivos = '';
	    
	    $objeto = new Salario($id);
		$selectCargoId = $objeto->cargoid;					         					    
	    $contrato = new Contrato($contratoid);
	    
	    if (FluxoContrato::isEditable('salarios', $contrato)) {
	    	$readOnly = '';
	    }
	    else {
	    	$readOnly = 'disabled="disabled"';
	    }
	    
		# Autorização
	    if ( !$usuario->isContratoPermitido($contratoid)){
	    	throw new Exception('Voce não tem autorizacao para acessar esta pagina.');	    		
	    }
	    
	    if ( !$objeto->iniciovigencia && !$objeto->fimvigencia ){	    	
	    	$objeto->iniciovigencia = $contrato->datainicio;
	    	$objeto->fimvigencia = $contrato->datafim;	    	
	    }
	    
	    //calculando os somatorios
	    $somatorioEncargos = 0;
	    $somatorioTributos = 0;
	    $valorEncargos = 0;
	    $valorTributos = 0;	    
	    $montanteA = 0;
	    $montanteB = 0;	    
	    $vrUnitario = 0;  
	       
	    //Array Data usados na view
	    $listaSelect = $objeto->listarCargos($contratoid,$id,$selectCargoId);
	    
        $motivos = array(
                        MotivoAditivo::MOTIVO_QUANTIDADE,
                        MotivoAditivo::MOTIVO_DISSIDIO_COLETIVO,
                        MotivoAditivo::MOTIVO_ALTERACAO_ENCARGOS_SOCIAIS,
                        MotivoAditivo::MOTIVO_ALTERACAO_TRIBUTOS,
                        MotivoAditivo::MOTIVO_ALTERACAO_BENEFICIOS);
        
        if ($contrato->isAditivo() AND !$contrato->hasMotivosAditivo($motivos)) {
            $info = "Para alterar salários desse aditivo, seus motivos devem conter pelo
                menos um dos itens: quantidade, dissídio coletivo,
                alteração de encargos sociais, alteração de tributos e alteração
                de benefícios";
        }
        
        require( '../../controller/contratos/helper_situacao.php' );
	    
	    if (isset($_POST["btnAcao"])) {
	        
	        $form = $_POST["btnAcao"];
	        
	        switch($form) {             

	            case "Salvar":

	            	if ($contrato->isBloqueado() == TRUE) {
	            		throw new Exception(TMensagens::getContratoBloqueado());
	            	}
	                TUtils::preencherObjeto($objeto, $_POST);
	                $objeto->contratoid = $contratoid;
	                
	                //$objeto = salário
                  	$objeto->salvar();
                	
                  	$message = ($id) ? 'alteracao' : 'insercao';
                  	
                  	$id = $objeto->salarioid;
                  	$encargosPadrao = NULL;
                  	header('Location: cadastrar.php?message=' . $message . '&contratoid=' . $contrato->contratoid);	               				
	            break;        
	           	            
	            case "Excluir":
	                
	            	if (!isset($_POST['chkRegistro'])) {
	            		throw new Exception(TMensagens::getNenhumItemSelecionado());
	            	}
	            	$objeto->excluirGrupo($_POST["chkRegistro"]);
	            	$message = 'exclusoes';
	            	header('Location: cadastrar.php?message=' . $message . '&contratoid=' . $contrato->contratoid);
	            break;       
	        }
	    }
	    
	    $somatorioEncargos = $objeto->somatorioEncargos();
    	$somatorioTributos = $objeto->somatorioTributos();
		$selectCargoId = $objeto->cargoid;
		$valorEncargos = $objeto->valorEncargos();
	    $valorTributos = $objeto->valorTributos();	    
	    $montanteA = $objeto->montanteA();
	    $montanteB = $objeto->montanteB();	    
	    $vrUnitario = $montanteA + $montanteB;
	    
	    
	    
	} catch(Exception $e){
		
		$erro = $e->getMessage();
		$listaGrid  = $objeto->listarView($contratoid,$formPesquisa);
		
	}

?>
